package day06;

import java.util.Arrays;
import java.util.Random;

/**
 * 需求：<<主持人大赛>>有N位评委给选手打分
 * 选手的最终得分为：去掉最高分和最低分之后的N-2位评委的平均分
 * 要求：使用方法来实现
 */
public class CalTotalAvg {
    public static void main(String[] args) {//主持人
        double[] scores = inputData(6);
        double avg = calAvg(scores);
        System.out.println("平均分为:" + avg);
    }

    /**
     * 该方法用于录入n位评委的评分
     */
    public static double[] inputData(int n) {
        double[] scores = new double[n];
        Random rand = new Random();
        for (int i = 0; i < scores.length; ++i) {
            double num = rand.nextDouble() * 10;
            scores[i] = (double) Math.round(num * 10.0) / 10;
        }
        return scores;
    }

    /**
     * 该方法用于计算平均分
     */
    public static double calAvg(double[] scores) {
        double avg, sum = 0.0;
        Arrays.sort(scores);
        for (int i = 1; i <= scores.length - 2; ++i) {
            sum += scores[i];
        }
        avg = sum / (scores.length - 2);
        return avg;
    }
}
